package uebungsblatt08.aufgabe14a;

import java.util.ArrayList;

public class Nachrichtenkanal
{
	private String name;
	private ArrayList<String> messages;
	private ArrayList<IKunde> abonnenten;
	
	public Nachrichtenkanal(String name)
	{
		this.name = name;
		abonnenten = new ArrayList<IKunde>();
		messages = new ArrayList<String>();
	}
	
	public void registriere(IKunde kunde)
	{
		abonnenten.add(kunde);
	}
	
	public void entferne(IKunde kunde)
	{
		abonnenten.remove(kunde);
	}
	
	public void benachrichtige(String message)
	{
		messages.add(message);
		for(IKunde abonnent : abonnenten)
			abonnent.aktualisiere(this);
	}
	
	public ArrayList<IKunde> getAbonnenten()
	{
		return abonnenten;
	}
	
	public String getNewestMessage()
	{
		return messages.get(messages.size()-1);
	}
	
	public ArrayList<String> getMessages()
	{
		return messages;
	}
	
	public String toString()
	{
		return name;
	}
}
